/***************************************************************************
[FileName]
-------------------
    begin                : [FileDate]
    copyright            : by kuzkok
    email                : kuzkok@gmail.com

***************************************************************************
*                                                                         *
*   This program is free software; you can redistribute it and/or modify  *
*   it under the terms of the GNU General Public License as published by  *
*   the Free Software Foundation; either version 2 of the License, or     *
*   (at your option) any later version.                                   *
*   
*   Данная программа является свободным программным обеспечением;         *
*   Вы можете распространять ее и/или модифицировать в соответствии с     *
*   GNU General Public License опубликованной Фондом свободного           *
*   программного обеспечения; используемая версия лицензии - 2 или        *
*   (по вашему выбору) любая более поздняя                                *
***************************************************************************/

#ifndef TREENODE_H
#define TREENODE_H

#include <QObject>
#include <QVariant>
#include <QtSql>
#include <QMenu>

#include "dbconnection.h"

class TreeNode: public QObject
{    
    Q_OBJECT
public:
    //TreeNode(const QList<QVariant> &data, TreeNode *parent = 0);
    TreeNode(const QString theOid, const QString theLabel, TreeNode *parent = 0);
    ~TreeNode();

    void appendChild(TreeNode *child);

    TreeNode *child(int row);
    int childCount() const;
    int columnCount() const;
    QVariant data(int column) const;
    int row() const;
    TreeNode *parent();
    QMenu *contextMenu();
    QString objectID();
protected:
    QMenu *mContextMenu;
private:    
    QString mObjectID;
    QList<TreeNode*> childItems;
    //QList<QVariant> itemData;
    QString itemData;
    TreeNode *parentItem;
};
#endif // TREENODE_H
